home *** CD-ROM | disk | FTP | other *** search
-
- #include <utility/tagitem.h>
- #include <string.h>
-
- #include <clib/asl_protos.h>
- #include <clib/dos_protos.h>
-
- char drawername[77];
- char filename[33];
-
- struct TagItem sourcetags[] = {
- { ASLFR_TitleText, (ULONG)&"Select clients" },
- { ASLFR_InitialDrawer, (ULONG)drawername },
- { ASLFR_InitialFile, (ULONG)filename },
- { ASLFR_Flags1, FRF_DOMULTISELECT },
- { ASLFR_InitialHeight, 210L },
- { ASLFR_RejectIcons, TRUE },
- { TAG_END, NULL } };
-
- extern void AddClient( char * );
- extern void DetachGadgets( void );
- extern void AttachGadgets( void );
-
- void AskFiles( void )
- {
- struct FileRequester *request;
- UWORD x;
- struct WBArg *asl_args;
-
- if ( request = (struct FileRequester *)AllocAslRequest( ASL_FileRequest, sourcetags ) )
- {
- strcpy( filename, FilePart(filename) );
- if ( AslRequest( request, sourcetags ) )
- {
- DetachGadgets();
- strcpy( filename, request->fr_Drawer );
- if ( filename[0] )
- {
- strcpy( drawername, filename );
- if ( filename[ strlen(filename)-1 ] != ':' && filename[ strlen(filename)-1 ] != '/' )
- strcat( filename, "/" );
- }
-
- if ( request->fr_NumArgs )
- {
- asl_args = request->fr_ArgList;
- for ( x = 0; x < request->fr_NumArgs; x++ )
- {
- *(FilePart(filename)) = 0;
- strcat( FilePart(filename), asl_args[x].wa_Name );
- AddClient( filename );
- }
- }
- else
- {
- strcat( FilePart(filename), FilePart(request->fr_File) );
- AddClient( filename );
- }
- AttachGadgets();
- }
- FreeAslRequest( request );
- }
- }
-
-